package com.cloudkinto.bo.product;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @author long
 */
@Data
public class ProductUpdateBo {

    @NotNull(message = "产品主键id不可为空")
    @ApiModelProperty("产品主键id")
    private Long id;

    @ApiModelProperty(value = "spu")
    private String spu;

    @ApiModelProperty(value = "jan编码")
    private String janCode;

    @ApiModelProperty(value = "分类id")
    private Long categoryId;


    @ApiModelProperty(value = "产品名")
    @NotNull(message = "产品名不可为空")
    private String productName;

    @ApiModelProperty(value = "产品别名")
    private String productAliasName;

    @ApiModelProperty(value = "产品描述")
    private String productDescription;

    @ApiModelProperty(value = "产品图片id")
    private Long picId;

    /**
     * 审批状态 0草稿 1审核中 2已审核 3已驳回 4废弃
     */
    @ApiModelProperty(value = "审批状态 0草稿 1审核中 2已审核 3已驳回 4废弃")
    private Integer approveStatus;

    @ApiModelProperty(value = "是否需要包材")
    private Boolean needPack;

    /**
     * ProductPackInfoDto.class
     */
    @ApiModelProperty(value = "包材详情 [{packCode,packName,whId,whCode,whName}]")
    private String packInfo;

    @ApiModelProperty(value = "原产地简码")
    private String countryOfOrigin;

    @ApiModelProperty(value = "申报价格de货币代码")
    private String currencyCode;

    @ApiModelProperty(value = "海关编码")
    private String customhouseCode;

    @ApiModelProperty(value = "申报中文名")
    private String declareNameCn;

    @ApiModelProperty(value = "申报英文名")
    private String declareNameEn;

    @ApiModelProperty(value = "申报价格")
    private BigDecimal declarePrice;

    @ApiModelProperty(value = "产品条码(EAN/UPC)")
    private String mainBarcode;

    @ApiModelProperty(value = "FNSKU")
    private String fnSku;

    @NotNull(message = "产品尺寸不可为空")
    private BigDecimal height;

    private BigDecimal heightBs;

    @NotNull(message = "产品尺寸不可为空")
    private BigDecimal length;

    private BigDecimal lengthBs;

    @NotNull(message = "产品尺寸不可为空")
    private BigDecimal width;

    private BigDecimal widthBs;

    @NotNull(message = "产品重量不可为空")
    private BigDecimal weight;

    private BigDecimal weightBs;

    @ApiModelProperty(value = "其他条码多个逗号隔开")
    private String otherBarcode;

    private BigDecimal wmsHeight;

    private BigDecimal wmsHeightBs;

    private BigDecimal wmsLength;

    private BigDecimal wmsLengthBs;

    private BigDecimal wmsWidth;

    private BigDecimal wmsWidthBs;

    private BigDecimal wmsWeight;

    private BigDecimal wmsWeightBs;

    @ApiModelProperty(value = "属性1")
    private String attribute1;

    @ApiModelProperty(value = "属性2")
    private String attribute2;

    @ApiModelProperty(value = "批发价")
    private BigDecimal wholesalePrice;

    @ApiModelProperty(value = "成本价")
    private BigDecimal costPrice;

    @ApiModelProperty(value = "内装数")
    private Integer builtInNumber;

    @ApiModelProperty(value = "ITF条码")
    private String itf;
}
